drop database if exists duckweed_strategy;
create database duckweed_strategy default character set utf8mb4 collate utf8mb4_general_ci;

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for strategy_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_contract`;
CREATE TABLE `strategy_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `group_id` bigint NOT NULL COMMENT '策略组id',
  `platform_id` bigint NOT NULL COMMENT '平台id',
  `symbol_name` varchar(100) NOT NULL COMMENT '币对名称',
  `product_id` bigint NOT NULL COMMENT '产品id',
  `side` varchar(10) NOT NULL COMMENT '首仓方向（0做多、1做空、2双向）\n首次下单仓位方向。双向时同时下多空两个开仓单',
  `order_num` int NOT NULL COMMENT '订单数量\n任务总共可下开仓单数\n例，做单方向为双向时，开多空两个仓位，此时下单数量为2。补仓时如果需要锁仓，累计下单数量+2',
  `multiple` decimal(6,2) NOT NULL COMMENT '杠杆倍数',
  `first_num` int NOT NULL COMMENT '首仓张数\n首次开仓数量',
  `fluctuation_ratio` decimal(6,2) NOT NULL COMMENT '价格波动比例（%）\n补仓的价格波动判断依据。\n例，补仓比例为10%，开首仓后，如果价格波动大于等于10%，开始进行首次补仓。价格上涨10%时补空仓，下跌10%时补多仓，补已有持仓数量\n后续补仓时，根据首次补仓方向判断价格向亏损侧又波动一定比例后，补首次补仓方向仓位。比如下单方向双向，首仓张数为1，补仓增幅为1%，首次补空仓补2张。当价格在上次补仓的成交均价基础上又上涨（根据补仓方向的亏损侧判断）11%后，进行第二次补仓，补已有持仓数量，即1 + 2 + 1 = 4张\n可以进行锁仓时，反向额外根据锁仓百分比、双向仓位总数量补仓',
  `fluctuation_increase` decimal(6,2) NOT NULL COMMENT '价格波动增幅（%）\n每次补仓的价格波动偏移量，首次补仓不计算该数值。\n例，补仓增幅为1%，已补空仓3次，价格在上次补仓的成交均价基础上又下跌（根据补仓方向的盈利侧判断） 10% + 1% * 3 时，进行补仓',
  `callback_ratio` decimal(6,2) NOT NULL COMMENT '利润回调比例（%）\n盈利后，双向仓位利润率回调达到n%时，平仓。\n例，回调比例为20%，利润率最高达到了15%，当利润率回落到12%时，进行平仓',
  `fallback_ratio` decimal(6,2) NOT NULL COMMENT '利润回降比例（%）\n记录开仓后最高/低（根据持仓方向判断）价格，盈利后当价格回调达到n%时，平仓。\n例，回降比例为10%，首仓800开多，盈利方向为多仓，开仓后记录的最高价格为1000，当价格跌落到900时，进行平仓',
  `stop_profit_ratio` decimal(6,2) NOT NULL COMMENT '止盈比例（%）\n盈利后继续盈利，如果回调到止盈比例，进行平仓。\n例，止盈比例为10%，利润率达到10%并且仍然在盈利时，不进行平仓。假如利润率在上涨到15%后，又重新回落到10%，进行平仓',
  `max_price` decimal(32,8) DEFAULT NULL COMMENT '价格区间最大值\n价格区间的最大值，当价格大于等于该值时，停止补仓操作',
  `min_price` decimal(32,8) DEFAULT NULL COMMENT '价格区间最小值\n价格区间的最小值，当价格小于等于该值时，停止补仓操作',
  `stop_profit_value` decimal(32,8) DEFAULT NULL COMMENT '止盈数值\n盈利大于等于该数值时，进行平仓',
  `stop_lost_value` decimal(32,8) NOT NULL COMMENT '止损数值\n亏损大于等于该数值时，进行平仓',
  `balance_limit` decimal(32,8) DEFAULT NULL COMMENT '余额限制\n用户交易所账户余额不足时，无法开启/继续执行策略',
  `lock_start` int DEFAULT NULL COMMENT '锁仓启用时机\nn次补仓后，补仓的同时需要额外根据锁仓百分比补反向仓位\n例，锁仓仓位的值为3，则在第3次补仓时，根据锁仓百分比为反向仓位进行补仓',
  `lock_ratio` decimal(6,2) DEFAULT NULL COMMENT '锁仓比例（%）\n根据双向仓位已有总数量的百分比进行锁仓操作',
  `forward_stop_start` int DEFAULT NULL COMMENT '正向止盈启用时机',
  `order_retry_price_fluctuation` decimal(32,8) NOT NULL DEFAULT '1.00000000' COMMENT '下单重试价格波动',
  `order_retry_max` int NOT NULL DEFAULT '2' COMMENT '下单重试最大次数',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_by` bigint NOT NULL COMMENT '创建人id',
  `create_name` varchar(50) NOT NULL COMMENT '创建人名称',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `update_by` bigint NOT NULL COMMENT '修改人id',
  `update_name` varchar(50) NOT NULL COMMENT '修改人名称',
  `status` varchar(10) NOT NULL COMMENT '状态（0停用、1正常）',
  `is_deleted` varchar(10) DEFAULT NULL COMMENT '是否删除（0否、null是）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略-合约';

-- ----------------------------
-- Records of strategy_contract
-- ----------------------------
BEGIN;
INSERT INTO `strategy_contract` VALUES (1599003198806671360, 1599001887059066880, 1597116882951192576, 'ETHUSDT', 1596411626818752512, '2', 4, 75.00, 1, 0.85, 1.70, 0.10, 30.00, 25.00, 200000.00000000, 0.00000000, NULL, 1999.00000000, 2000.00000000, 3, 50.00, NULL, 1.00000000, 1, '2022-12-03 19:30:45', 2, '管理员', '2023-02-03 18:10:36', 2, '管理员', '1', '0');
INSERT INTO `strategy_contract` VALUES (1601915449859444736, 1599001887059066880, 1597116882951192576, 'BTCUSDT', 1601912484759121920, '2', 6, 100.00, 1, 0.60, 0.90, 0.10, 1.00, 25.00, 200000.00000000, 0.00000000, 100.00000000, 800.00000000, 2000.00000000, 1, 20.00, NULL, 1.00000000, 1, '2022-12-11 20:23:00', 2, '管理员', '2022-12-12 12:59:00', 2, '管理员', '0', '0');
INSERT INTO `strategy_contract` VALUES (1605496551121793024, 1599001977349849088, 1597116882951192576, 'ETHUSDT', 1596411626818752512, '2', 4, 100.00, 2, 0.85, 1.70, 0.10, 35.00, 25.00, 200000.00000000, 0.00000000, NULL, 4999.00000000, 5000.00000000, 3, 50.00, NULL, 1.00000000, 1, '2022-12-21 17:33:01', 2, '管理员', '2023-01-24 00:42:16', 2, '管理员', '1', '0');
INSERT INTO `strategy_contract` VALUES (1608375867069378560, 1599002110749687808, 1597116882951192576, 'ETHUSDT', 1596411626818752512, '2', 4, 100.00, 5, 0.85, 1.70, 0.10, 30.00, 25.00, NULL, NULL, NULL, 9999.00000000, 10000.00000000, 3, 50.00, NULL, 1.00000000, 1, '2022-12-29 16:14:24', 2, '管理员', '2023-01-24 00:42:04', 2, '管理员', '1', '0');
COMMIT;

-- ----------------------------
-- Table structure for strategy_group_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_group_contract`;
CREATE TABLE `strategy_group_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `product_type` varchar(10) NOT NULL COMMENT '产品种类（0永续合约）',
  `name` varchar(50) NOT NULL COMMENT '名称',
  `balance_limit` decimal(32,8) NOT NULL COMMENT '余额限制',
  `fuel_frozen` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '预扣燃油费',
  `platform_ratio` decimal(4,2) NOT NULL COMMENT '平台分成比例（%）',
  `customer_ratio` decimal(4,2) NOT NULL COMMENT '客户分成比例（%）',
  `profile` varchar(200) DEFAULT NULL COMMENT '简介',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_by` bigint NOT NULL COMMENT '创建人id',
  `create_name` varchar(50) NOT NULL COMMENT '创建人名称',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `update_by` bigint NOT NULL COMMENT '修改人id',
  `update_name` varchar(50) NOT NULL COMMENT '修改人名称',
  `status` varchar(10) NOT NULL COMMENT '状态（0停用、1正常）',
  `is_deleted` varchar(10) DEFAULT NULL COMMENT '是否删除（0否、null是）',
  `is_open` varchar(1) DEFAULT '1' COMMENT '是否对用户开放 0 否 1是',
  PRIMARY KEY (`id`),
  UNIQUE KEY `strategy_group_contract_is_deleted_name_uindex` (`is_deleted`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略组-合约';

-- ----------------------------
-- Records of strategy_group_contract
-- ----------------------------
BEGIN;
INSERT INTO `strategy_group_contract` VALUES (1599001887059066880, '0', 'A2000', 2000.00000000, 50.00000000, 60.00, 40.00, '新手友好，无需盯盘，7X24小时自动挂单买卖，高抛低吸，震荡行情推荐策略', '2022-12-03 19:25:33', 2, '管理员', '2022-12-30 11:09:39', 2, '管理员', '1', '0', '1');
INSERT INTO `strategy_group_contract` VALUES (1599001977349849088, '0', 'A5000', 5000.00000000, 125.00000000, 50.00, 50.00, '新手友好，无需盯盘，7X24小时自动挂单买卖，高抛低吸，震荡行情推荐策略', '2022-12-03 19:25:54', 2, '管理员', '2022-12-30 11:10:54', 2, '管理员', '1', '0', '1');
INSERT INTO `strategy_group_contract` VALUES (1599002110749687808, '0', 'A10000', 10000.00000000, 250.00000000, 45.00, 55.00, '新手友好，无需盯盘，7X24小时自动挂单买卖，高抛低吸，震荡行情推荐策略', '2022-12-03 19:26:26', 2, '管理员', '2022-12-30 11:11:00', 2, '管理员', '1', '0', '1');
INSERT INTO `strategy_group_contract` VALUES (1599002338944991232, '0', 'A40000', 40000.00000000, 0.00000000, 40.00, 60.00, '新手友好，无需盯盘，7X24小时自动挂单买卖，高抛低吸，震荡行情推荐策略', '2022-12-03 19:27:20', 2, '管理员', '2022-12-12 00:16:58', 2, '管理员', '1', '0', '0');
COMMIT;

-- ----------------------------
-- Table structure for strategy_order_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_order_contract`;
CREATE TABLE `strategy_order_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `src_id` bigint DEFAULT NULL COMMENT '重试下单的源订单id',
  `retry_count` int NOT NULL DEFAULT '0' COMMENT '第n次重试下单',
  `task_id` bigint NOT NULL COMMENT '任务id',
  `user_id` bigint NOT NULL COMMENT '用户id',
  `platform_id` bigint NOT NULL COMMENT '平台id',
  `position_id` bigint DEFAULT NULL COMMENT '仓位id',
  `product_name` varchar(100) NOT NULL COMMENT '产品名称',
  `price` decimal(32,8) DEFAULT NULL COMMENT '下单时价格',
  `type` varchar(10) NOT NULL COMMENT '类型（0市价单、1限价单）',
  `business_type` varchar(10) NOT NULL COMMENT '业务类型（0开仓、1补仓、2平仓、3锁仓、4正向止盈平仓、5正向止盈回滚、6手动开仓、7手动平仓、8止盈、9止损）',
  `position_mode` varchar(10) NOT NULL COMMENT '仓位模式（0逐仓、1全仓）',
  `side` varchar(10) NOT NULL COMMENT '方向（0做多、1做空）',
  `operation_type` varchar(10) NOT NULL COMMENT '操作类型（0开仓、1平仓）',
  `order_value` decimal(32,8) DEFAULT NULL COMMENT '订单面值',
  `sheet_value` decimal(32,8) NOT NULL COMMENT '张面值',
  `num` int NOT NULL COMMENT '数量（张）',
  `multiple` decimal(6,2) NOT NULL COMMENT '倍数',
  `deal_num` int NOT NULL DEFAULT '0' COMMENT '已成交数量（张）',
  `no_deal_num` int NOT NULL COMMENT '未成交数量（张）',
  `deal_avg` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '成交均价',
  `handling_fee` decimal(32,8) NOT NULL COMMENT '手续费',
  `margin` decimal(32,8) DEFAULT '0.00000000' COMMENT '保证金',
  `profit` decimal(32,8) DEFAULT NULL COMMENT '收益，平仓时有值',
  `fuel_handling_fee` decimal(32,8) DEFAULT NULL COMMENT '燃油费手续费',
  `remark` text COMMENT '备注',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_by` bigint NOT NULL COMMENT '创建人id',
  `create_name` varchar(50) NOT NULL COMMENT '创建人名称',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `update_by` bigint NOT NULL COMMENT '修改人id',
  `update_name` varchar(50) NOT NULL COMMENT '修改人名称',
  `status` varchar(10) NOT NULL COMMENT '状态（0委托中、1部分成交、2部分已撤销、3完全成交、4已撤销、5已过期、6异常）',
  `is_deleted` varchar(10) DEFAULT NULL COMMENT '是否删除（0否、null是）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略订单-合约';

-- ----------------------------
-- Records of strategy_order_contract
-- ----------------------------
BEGIN;
COMMIT;

-- ----------------------------
-- Table structure for strategy_position_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_position_contract`;
CREATE TABLE `strategy_position_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `platform_id` bigint NOT NULL COMMENT '平台id',
  `user_id` bigint NOT NULL COMMENT '用户id',
  `task_id` bigint NOT NULL COMMENT '任务id',
  `side` varchar(10) NOT NULL COMMENT '方向（0做多、1做空）',
  `num_open` int NOT NULL DEFAULT '0' COMMENT '开仓数量',
  `num_now` int NOT NULL DEFAULT '0' COMMENT '当前持仓数量',
  `num_close` int NOT NULL DEFAULT '0' COMMENT '平仓数量',
  `num_stop_order` int NOT NULL DEFAULT '0' COMMENT '止盈止损数量',
  `avg_open` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '开仓均价',
  `avg_close` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '平仓均价',
  `margin` decimal(32,8) DEFAULT '0.00000000' COMMENT '持仓保证金',
  `profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '利润（USDT）',
  `net_profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '净利润（USDT）',
  `error_settlement_profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '异常结算利润（USDT）',
  `handling_fee` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '手续费（USDT）',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_by` bigint NOT NULL COMMENT '创建人id',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `update_by` bigint NOT NULL COMMENT '修改人id',
  `status` varchar(10) NOT NULL DEFAULT '0' COMMENT '状态（0无持仓、1持仓中、2已平仓、3加仓中、4平仓中、5异常已结算）',
  `is_deleted` varchar(10) DEFAULT '0' COMMENT '是否删除（0否、null是）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略仓位-合约';

-- ----------------------------
-- Records of strategy_position_contract
-- ----------------------------
BEGIN;
COMMIT;

-- ----------------------------
-- Table structure for strategy_stop_order_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_stop_order_contract`;
CREATE TABLE `strategy_stop_order_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `external_id` bigint DEFAULT NULL COMMENT '外部平台id',
  `platform_id` bigint NOT NULL COMMENT '平台id',
  `task_id` bigint NOT NULL COMMENT '任务id',
  `user_id` bigint NOT NULL COMMENT '用户id',
  `position_id` bigint DEFAULT NULL COMMENT '仓位id',
  `order_id` bigint DEFAULT NULL COMMENT '触发的订单id',
  `symbol_name` varchar(100) NOT NULL COMMENT '币对名称',
  `product_name` varchar(200) NOT NULL COMMENT '产品名称',
  `side` varchar(10) NOT NULL COMMENT '方向（0做多、1做空）',
  `num_type` varchar(10) NOT NULL COMMENT '数量类型（0张、1百分比）',
  `num` int NOT NULL COMMENT '委托数量',
  `num_percent` decimal(5,2) DEFAULT NULL COMMENT '委托百分比数量（只支持100%）',
  `side_type` varchar(10) NOT NULL COMMENT '单向/双向（0单向、1双向）',
  `has_stop_profit` varchar(10) NOT NULL COMMENT '是否止盈（0否、1是）',
  `stop_profit_trigger` decimal(32,8) DEFAULT NULL COMMENT '止盈触发价格，是否止盈为是时不能为空',
  `stop_profit_type` varchar(10) DEFAULT NULL COMMENT '止盈价格类型（0市价、1限价），是否止盈为是时不能为空',
  `stop_profit_price` decimal(32,8) DEFAULT NULL COMMENT '止盈价格，止盈价格类型为限价时不能为空',
  `stop_profit_price_type` varchar(10) DEFAULT NULL COMMENT '止盈价格类型（0最新价格、1指数价格、2标记价格）',
  `has_stop_lost` varchar(10) NOT NULL COMMENT '是否止损（0否、1是）',
  `stop_lost_trigger` decimal(32,8) DEFAULT NULL COMMENT '止损触发价格，是否止损为是时不能为空',
  `stop_lost_type` varchar(10) DEFAULT NULL COMMENT '止损价格类型（0市价、1限价），是否止损为是时不能为空',
  `stop_lost_price` decimal(32,8) DEFAULT NULL COMMENT '止损价格，止损价格类型为限价时不能为空',
  `stop_lost_price_type` varchar(10) DEFAULT NULL COMMENT '止损价格类型（0最新价格、1指数价格、2标记价格）',
  `actual_trigger_side` varchar(10) DEFAULT NULL COMMENT '实际触发方向（0止盈、1止损）',
  `trigger_time` datetime DEFAULT NULL COMMENT '触发时间',
  `actual_num` decimal(32,8) DEFAULT NULL COMMENT '实际委托数量',
  `actual_price` decimal(32,8) DEFAULT NULL COMMENT '实际委托金额',
  `sync_count` int NOT NULL DEFAULT '0' COMMENT '同步次数',
  `sync_status` varchar(10) NOT NULL COMMENT '同步状态（0未同步、1同步中、2同步成功）',
  `tag` varchar(200) DEFAULT NULL COMMENT '标签',
  `remark` text COMMENT '备注',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `create_by` bigint DEFAULT NULL COMMENT '创建人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `update_by` bigint DEFAULT NULL COMMENT '修改人',
  `status` varchar(10) NOT NULL COMMENT '委托状态（0待生效、1已生效、2已撤销、3委托失败、4异常、5http异常）',
  `is_deleted` varchar(10) NOT NULL COMMENT '是否删除（null是、0否）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='止盈止损委托表';

-- ----------------------------
-- Records of strategy_stop_order_contract
-- ----------------------------
BEGIN;
COMMIT;

-- ----------------------------
-- Table structure for strategy_switch_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_switch_contract`;
CREATE TABLE `strategy_switch_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `platform_id` bigint NOT NULL COMMENT '平台id',
  `user_id` bigint NOT NULL COMMENT '用户id',
  `strategy_id` varchar(50) NOT NULL COMMENT '策略id',
  `profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '利润',
  `net_profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '净利润',
  `fuel_cost` decimal(16,8) NOT NULL DEFAULT '0.00000000' COMMENT '消耗燃油费',
  `error_settlement_profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '异常结算利润（USDT）',
  `task_count` int NOT NULL DEFAULT '0' COMMENT '任务计数',
  `send_fuel_reminder` varchar(10) NOT NULL DEFAULT '0' COMMENT '是否发送过燃油币余额提醒邮件（0否、1是）',
  `remark` text,
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_by` bigint NOT NULL COMMENT '创建人id',
  `create_name` varchar(50) NOT NULL COMMENT '创建人名称',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `update_by` bigint NOT NULL COMMENT '修改人id',
  `update_name` varchar(50) NOT NULL COMMENT '修改人名称',
  `status` varchar(10) NOT NULL COMMENT '状态（0暂停、1运行中、2已结束、3关闭、4异常、5异常已解决）',
  `is_deleted` varchar(10) DEFAULT NULL COMMENT '是否删除（0否、null是）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略开关-合约';

-- ----------------------------
-- Records of strategy_switch_contract
-- ----------------------------
BEGIN;
COMMIT;

-- ----------------------------
-- Table structure for strategy_task_contract
-- ----------------------------
DROP TABLE IF EXISTS `strategy_task_contract`;
CREATE TABLE `strategy_task_contract` (
  `id` bigint NOT NULL COMMENT '主键',
  `platform_id` bigint NOT NULL COMMENT '平台id',
  `switch_id` bigint NOT NULL COMMENT '开关id',
  `strategy_id` bigint NOT NULL COMMENT '策略id',
  `user_id` bigint NOT NULL COMMENT '用户id',
  `first_add_side` varchar(10) NOT NULL DEFAULT '2' COMMENT '首次补仓方向（0做多、1做空、2尚未补仓）',
  `add_count` int NOT NULL DEFAULT '0' COMMENT '补仓次数',
  `order_count` int NOT NULL DEFAULT '0' COMMENT '下单次数',
  `profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '利润（USDT）',
  `net_profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '净利润（USDT）',
  `handling_fee` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '手续费（USDT）',
  `fuel_frozen` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '预扣燃油费',
  `fuel_cost` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '燃油费花费（UNT）',
  `pending_order_num` int NOT NULL DEFAULT '0' COMMENT '委托中订单数量',
  `sync_stop_order_num` int NOT NULL DEFAULT '0' COMMENT '同步中止盈止损订单数量',
  `error_settlement_price` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '异常结算时价格',
  `error_settlement_profit` decimal(32,8) NOT NULL DEFAULT '0.00000000' COMMENT '异常结算利润（USDT）',
  `error_settlement_status` varchar(10) NOT NULL DEFAULT '0' COMMENT '异常结算状态（0无异常、1结算中、2已结算）',
  `forward_stop_close_num` int NOT NULL DEFAULT '0' COMMENT '正向止盈平仓数量',
  `forward_stop_rollback_num` int NOT NULL DEFAULT '0' COMMENT '正向止盈回滚数量',
  `remark` text COMMENT '备注',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `create_by` bigint NOT NULL COMMENT '创建人id',
  `create_name` varchar(100) NOT NULL COMMENT '创建人名称',
  `update_time` datetime NOT NULL COMMENT '修改时间',
  `update_by` bigint NOT NULL COMMENT '修改人id',
  `update_name` varchar(100) NOT NULL COMMENT '修改人名称',
  `status` varchar(10) NOT NULL COMMENT '状态（0暂停、1运行中、2已完成、3关闭、4异常、5异常已解决）',
  `is_deleted` varchar(10) DEFAULT NULL COMMENT '是否删除（0否、null是）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='策略任务-合约';

-- ----------------------------
-- Records of strategy_task_contract
-- ----------------------------
BEGIN;
COMMIT;

-- ----------------------------
-- Table structure for undo_log
-- ----------------------------
DROP TABLE IF EXISTS `undo_log`;
CREATE TABLE `undo_log` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `branch_id` bigint NOT NULL,
  `xid` varchar(100) NOT NULL,
  `context` varchar(128) NOT NULL,
  `rollback_info` longblob NOT NULL,
  `log_status` int NOT NULL,
  `log_created` datetime NOT NULL,
  `log_modified` datetime NOT NULL,
  `ext` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

-- ----------------------------
-- Records of undo_log
-- ----------------------------
BEGIN;
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;
